package com.py.framework.dao;

import com.py.framework.entity.HolidayEntity;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 节假日Dao
 *
 * @author YaoS
 * @version shanghai
 * @date 2019-02-21 10:47
 */
public interface HolidayDao {
    /**
     * 功能描述: 添加节假日
     *
     * @param entityList 节假日列表
     * @author YaoS
     * @date 19/2/21 10:28
     */
    void addHoliday(@Param("list") List<HolidayEntity> entityList);

    /**
     * 功能描述: 删除节假日
     *
     * @param list 要删除的节假日ID
     * @author YaoS
     * @date 19/2/21 10:33
     */
    void deleteHoliday(@Param("list") List<String> list);

    /**
     * 功能描述: 判断是否节假日
     *
     * @param date 日期
     * @return
     * @author YaoS
     * @date 19/2/21 10:34
     */
    String isHoliday(@Param("date") Date date);

    /**
     * 功能描述: 查询当前年份所有节假日
     *
     * @param year 年份
     * @return List<HolidayEntity> 节假日列表
     * @author YaoS
     * @date 19/2/21 11:12
     */
    List<HolidayEntity> selectAll(String year);

    /**
     * 功能描述: 查询当前年份所有节假日
     *
     * @param year 年份
     * @return List<HolidayEntity> 节假日列表
     * @author YaoS
     * @date 19/2/21 11:12
     */
    List<Map<String,Object>> selectAllFar(String year);
    
    /**
     * 功能描述:分页查询当前年份所有节假日
     *
     * @param params 查询条件
     * @return List<HolidayEntity> 查询结果集
     * @author YaoS
     * @date 19/2/21 17:50
     */
    List<HolidayEntity> selectAllForPage(Map<String, Object> params);

}
